package com.kinyx.framework.db.defines;

import com.kinyx.framework.annotation.assist.CanNotNull;
import com.kinyx.framework.annotation.assist.ReturnNotNull;

/**
 * 命名策略
 */
public interface INamingStrategy {

	/**
	 * 将实体名转换为表名
	 * @param entityName 实体名
	 * @return 表名
	 */
	@ReturnNotNull
	String entityName2tableName(@CanNotNull final String entityName);

	/**
	 * 将字段名转换为列名
	 * @param fieldName 字段名
	 * @return 列名
	 */
	@ReturnNotNull
	String fieldName2columnName(@CanNotNull final String fieldName);

}
